function List(){
    this.listSize=0;//列表元素的个数
    this.pos=0;//列表当前元素
    this.dataStore=[];//初始化一个数组去保存列表元素
    this.clear=clear;//清空所有的数据
    this.find=find;//寻找元素的位置
    this.toString=toString;//返回数组中所有的元素;
    this.insert=insert;//插入
    this.append=append;//从后添加
    this.remove=remove;//删除
    this.front=front;//当前位置移动到第一个位置
    this.end=end;//当前位置移动到后面的位置
    this.prev=prev;//移动到前面一个位置，让那个pos
    this.next=next;//移动到下一个节点位置
    this.length=length;//当前数据的长度
    this.currPos=currPos;//当前位置
    this.moveTo=moveTo;//跳转到当前为指定位置
    this.getElement=getElement;//得到当前位置的元素
    this.contains=contains;//判断是否包含某个元素，js书中用的是查找元素，但是es6有一个实现它的用法。
}
//返回当前元素
function getElement(){
    return this.dataStore[this.pos];
}
//让当前位置为第一位
function front(){
    this.pos=0;
}
//让当前位置为最后一位
function end(){
    this.pos=this.listSize-1;
}
//前驱节点
function prev(){
    if(this.pos>0){
        --this.pos;
    }
}
//后集结点
function next(){
    if(this.pos<this.listSize-1){
        ++this.pos;
    }
}

//当前位置
function currPos(){
    return this.pos;
}

//移动到指定位置
function moveTo(position){
    this.pos=position;
}

//append给列表添加元素，直接在后面的位置添加一个元素
function append(element){
    this.dataStore[this.listSize++]=element;
    //console.log(this.listSize)
}
//remove从列表中删除元素
function find(element){
    for(var i=0;i<this.dataStore.length;i++){
        if(this.dataStore[i]==element){
            return i;
        }
    }
    return -1;
}
//删除元素，
function remove(element){
    var findData=this.find(element);
    if(findData>-1){
        this.dataStore.splice(findData,1);
        --this.listSize;
        return true;
    }
    return false;
}

//length，判断长度
function length(){
    return this.listSize;
}
//toString输出所有的数据
function toString(){
    return this.dataStore;
}

//insert
function insert(ele,after){
    var insertPos=this.find(after);
    //找到after元素的位置，
    if(insertPos>-1){
        //把他插入到他的下一个位置中
        this.dataStore.splice(insertPos+1,0,ele);
        ++this.listSize;
        return true;
    }
    return false;
}

//clear清除所有的元素
function clear(){
    delete this.dataStore;
    this.dataStore=[];
    this.listSize=this.pos=0;
}

//contains判断值是否在列表中
function contains(ele){
    for(var i=0;i<this.dataStore.length;i++){
        if(this.dataStore[i]==ele){
            return true;
        }
    }
    return false;
}